home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 22
/
AACD 22.iso
/
AACD
/
Resources
/
Sound
/
AHI
/
Developer
/
drivers
/
filesave
/
Studio16file.h
< prev
Wrap
C/C++ Source or Header
|
1997-11-09
|
2KB
|
94 lines
#ifndef STUDIO16FILE_H
#define STUDIO16FILE_H
/*
** $VER: Studio16fileformat 2.0 (9.11.97)
**
** The STUDIO16_2.0 format (KWK3)
**
** Analysed by Kenneth "Kenny" Nilsen
** mailto:kenny@bgnett.no
*/
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
/* Initializers */
#define S16FID 0x4B574B33 /* "KWK3" */
#define S16FINIT 0x1
/* File header structure
*
* HEADER (3690)
* SAMPLES (samples x 16bit)
*/
#define S16FILEHEADERSIZE 3690
/* I am no C programmer so please let me know if this one is incorrect: */
struct STUDIO16FILE
{
ULONG S16F_ID; /* FILE HEADER ID (K16FID) */
ULONG S16F_RATE; /* sample rate */
ULONG S16F_FILTER; /* Init with $1 (K16FINIT) */
UWORD S16F_VOLUME; /* sample volume */
ULONG S16F_SMPTE; /* SMPTE timecode (H:B M:B S:B F:B) */
ULONG S16F_SMPTEFLOAT; /* SMPTE sampling rate */
ULONG S16F_PAN; /* pan setting */
LONG S16F_FLAGS; /* misc flags */
LONG S16F_RESERVED;
/* here follows the sampleclips */
ULONG S16F_SAMPLES0; /* number of samples (bytesize/2) */
ULONG S16F_SAMPLES1; /* number of samples */
ULONG S16F_0; /* start of first range [main] */
ULONG S16F_SAMPLES2; /* number of samples-1 (end) */
ULONG S16F_EDITSTATUS; /* if =null then no edits in file */
char S16F_1[3636];
/* LABEL S16F_SIZEOF */ /* =3690 */
};
/* Sample rates for Studio 16: */
#define S16_FREQ_0 0x1589 /* 5513 hz */
#define S16_FREQ_1 0x19D7 /* 6615 hz */
#define S16_FREQ_2 0x1F40 /* 8000 hz */
#define S16_FREQ_3 0x2580 /* 9600 hz */
#define S16_FREQ_4 0x2B11 /* 11025 hz */
#define S16_FREQ_5 0x3e80 /* 16000 hz */
#define S16_FREQ_6 0x49D4 /* 18900 hz */
#define S16_FREQ_7 0x5622 /* 22050 hz */
#define S16_FREQ_8 0x6B25 /* 27429 hz */
#define S16_FREQ_9 0x7D00 /* 32000 hz */
#define S16_FREQ_A 0x8133 /* 33075 hz */
#define S16_FREQ_B 0x93A8 /* 37800 hz */
#define S16_FREQ_C 0xAC44 /* 44100 hz */
#define S16_FREQ_D 0xBB80 /* 48000 hz */
/* Volumes */
#define S16_VOL_6 0xD40 /* +6 dB */
#define S16_VOL_0 0xC80 /* +0 dB */
#define S16_VOL_40 0x780 /* Decibel = number-100 */
#define S16_VOL_OFF 0 /* oo dB */
#define S16_VOL_STEPS 0x20
/* Pans */
#define S16_PAN_LEFT 0x0
#define S16_PAN_MID 0xc80
#define S16_PAN_RIGHT 0x1900
#define S16_PAN_STEPS 0x20
/* NOTE: Fileclips and regions are not defined here!
* Make sure to convert edits to permanent before converting a sample
* FROM Studio16_2.0 to something else. */
#endif /* STUDIO16FILE_H */